#include <bits/stdc++.h>
using namespace std;
#define Fujiwara_Chan ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
typedef long long ll;
int main() {
Fujiwara_Chan
int tt; cin >> tt;
while (tt--) {
int n, k; cin >> n >> k;
vector<int> v(n);
for (auto &i : v) cin >> i;
ll l = *max_element(v.begin(), v.end()) + 1;
ll r = l + k, ans = l - 1;
while (l <= r) {
ll mid = (l + r) / 2, flag = 0;
for (int i = 0; i < n; ++i) {
ll cnt = 0, curr = mid;
for (int j = i; j < n; ++j) {
if (curr <= v[j]) {
if (cnt <= k) flag = 1;
break;
}
if (j == n - 1) cnt = k + 1;
cnt += curr - v[j];
curr--;
}
if (cnt <= k) flag = 1;
}
if (flag) ans = mid, l = mid + 1;
else r = mid - 1;
}
cout << ans << "\n";
}
return 0;
}
1654C - Alice and the Cake | 369A - Valera and Plates |
1626A - Equidistant Letters | 977D - Divide by three multiply by two |
1654B - Prefix Removals | 1654A - Maximum Cake Tastiness |
1649A - Game | 139A - Petr and Book |
1612A - Distance | 520A - Pangram |
124A - The number of positions | 1041A - Heist |
901A - Hashing Trees | 1283A - Minutes Before the New Year |
1654D - Potion Brewing Class | 1107B - Digital root |
25A - IQ test | 785A - Anton and Polyhedrons |
1542B - Plus and Multiply | 306A - Candies |
1651C - Fault-tolerant Network | 870A - Search for Pretty Integers |
1174A - Ehab Fails to Be Thanos | 1169A - Circle Metro |
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |